amostragem                package:nenhum                R Documentation

Amostragem de data frame, com base nos critrios dados pelo usurio

Description:
Estratifica e amostra um data frame grande, com base nas informaes fornecidas referentes ao tamanho da amostra desejada, 
a coluna a ser estratificada, as categorias a serem buscadas nas linhas, o tipo de amostragem a ser feito, se a 
amostragem deve ser com reposio e quais colunas do data frame original devem ser excludas.

Usage:

amostragem(dados,amostra,colun,categ,tipo=c("aleat", "prop"),proporcao=NULL,reposicao=FALSE,remov)

Arguments:

dados:		Dataframe; dados originais a serem amostrados.

amostra:	Numerico positivo; valor sera transformado em integer. Tamanho da amostra a ser gerada (em nmero de 
		linhas).

colun:		Numerico ou caracter; deve especificar o nome da coluna do dataframe a ser estratificada. Veja 'details'.

categ:		Numerico ou caracter; informaes a serem buscadas nas linhas para estratificao.

tipo:		Caracter; tipo de amostragem a ser feita. Veja 'details'.

proporcao:	Numerico; proporcoes a serem seguidas para amostragem (valores informados pelo usurio). Veja 'details'.

reposicao:	Logico; determina se a amostragem  com reposio.

remov:		Numerico ou caracter; colunas a serem removidas do data frame.

Details:

Os argumentos "dados" e "amostra" devem ser obrigatoriamente fornecidos na funo.

Se o argumento "colun" no for informado, a amostragem feita sera aleatria. Se "colun" for dado, mas o argumento "categ" 
no, a estratificao sera feita a partir da primeira coluna informada em "colun". A estratificao e amostragem  feita
apenas para uma coluna por vez, portanto se "colun" tiver duas ou mais informaes apenas a primeira ser considerada.

O argumento "tipo" aceita: "aleat", onde faz amostragem aleatria, e "prop", em que amostra respeitando a proporo 
original das linhas da coluna indicada. Se "tipo" no for informado, o default  fazer amostragem aleatria, caso 
"proporcao" tambm no tenha sido informado.

O argumento "proporcao" faz amostragem dos dados de acordo com a proporo informada pelo usurio. Os valores numricos 
inseridos em "proporcao", correspondentes a proporo da amostra para cada categoria, devem seguir a ordem 
crescente/alfabtica das categorias. Se "proporcao" no for informado, o default  NULL.

Se "reposio" no for informado, a amostragem  feita sem reposio.

Value:

A funo retorna:
		Um dataframe com as linhas amostradas de acordo com as especificaes do usurio e colunas que no foram 
		removidas.

Warning:

A funo  interrompida e retorna mensagem de erro se "dados" no for um dataframe, e se "amostra" no for um valor 
numrico.

Se o usurio inserir em "proporcao" uma quantidade de valores no compatvel com a quantidade de categorias nas linhas a 
funo retorna mensagem de erro. Se o usurio inserir valores que nao somam =1 a funo tambm retorna mensagem de erro.

Author(s):

Raquel Monteiro Silva
raquel.monteiro.silva@usp.br

References:

Multinomial distribution. From Wikipedia, the free encyclopedia.
https://en.wikipedia.org/wiki/Multinomial_distribution

See Also:

sample(), rmultinom(), subset()

Examples:

#criando vetores para formar o data frame
tipo_doc<-rep(letters,len=100)
id_doc<-round(abs(rnorm(100,2,1)),4)
local<-rep(1:7,each=3,len=100)
ano<-c(rep(2013,20),rep(2014,14),rep(2015,30),rep(2016,26),rep(2017,10))

#criando o data frame de exemplo
df<-data.frame(tipo_doc,id_doc,local,ano)

amostragem(df,amostra=10,categ=c(2013,2015),reposicao=TRUE)
amostragem(df,amostra=15,tipo="prop")  ##como "colun" no foi informado, mensagem de aviso emitida
amostragem(df,amostra=10,colun="local", tipo="prop",remov="id_doc",reposicao=TRUE)
amostragem(df,amostra=15,colun="local",proporcao=c(0.2,0.2,0.3,0.3))  ##erro na definio das proporces

##amostragem com proporo dada, apenas para a primeira coluna informada
amostragem(df,amostra=12,colun=c("ano","tipo_doc"),categ=c(2016,2017),proporcao=c(0.3,0.7))

## necessrio que a coluna que voc deseja amostrar seja da mesma classe que as informaes forncecidas para a funo
df$tipo_doc<-as.character(df$tipo_doc)
amostragem(df,amostra=10,colun="tipo_doc",categ=c("r","a","q","u","e","l"))